// JavaScript Document
// Author   : Mohsen Taheri
// Modified : 2008/04/11

// if a > b =>  1
// if a < b => -1
// if a = b =>  0
function compareChar(a,b){
	var c=0,d=0;
	if(a == 'آ')c=0;
	else if(a == 'ا')c=1;
	else if(a == 'ب')c=2;
	else if(a == 'پ')c=3;
	else if(a == 'ت')c=4;
	else if(a == 'ث')c=5;
	else if(a == 'ج')c=6;
	else if(a == 'چ')c=7;
	else if(a == 'ح')c=8;
	else if(a == 'خ')c=9;
	else if(a == 'د')c=10;
	else if(a == 'ذ')c=11;
	else if(a == 'ر')c=12;
	else if(a == 'ز')c=13;
	else if(a == 'ژ')c=14;
	else if(a == 'س')c=15;
	else if(a == 'ش')c=16;
	else if(a == 'ص')c=17;
	else if(a == 'ض')c=18;
	else if(a == 'ط')c=19;
	else if(a == 'ظ')c=20;
	else if(a == 'ع')c=21;
	else if(a == 'غ')c=22;
	else if(a == 'ف')c=23;
	else if(a == 'ق')c=24;
	else if(a == 'ک')c=25;
	else if(a == 'گ')c=26;
	else if(a == 'ل')c=27;
	else if(a == 'م')c=28;
	else if(a == 'ن')c=29;
	else if(a == 'و')c=30;
	else if(a == 'ه')c=31;
	else if(a == 'ی')c=32;
	else c=a;
	if(b == 'آ')d=0;
	else if(b == 'ا')d=1;
	else if(b == 'ب')d=2;
	else if(b == 'پ')d=3;
	else if(b == 'ت')d=4;
	else if(b == 'ث')d=5;
	else if(b == 'ج')d=6;
	else if(b == 'چ')d=7;
	else if(b == 'ح')d=8;
	else if(b == 'خ')d=9;
	else if(b == 'د')d=10;
	else if(b == 'ذ')d=11;
	else if(b == 'ر')d=12;
	else if(b == 'ز')d=13;
	else if(b == 'ژ')d=14;
	else if(b == 'س')d=15;
	else if(b == 'ش')d=16;
	else if(b == 'ص')d=17;
	else if(b == 'ض')d=18;
	else if(b == 'ط')d=19;
	else if(b == 'ظ')d=20;
	else if(b == 'ع')d=21;
	else if(b == 'غ')d=22;
	else if(b == 'ف')d=23;
	else if(b == 'ق')d=24;
	else if(b == 'ک')d=25;
	else if(b == 'گ')d=26;
	else if(b == 'ل')d=27;
	else if(b == 'م')d=28;
	else if(b == 'ن')d=29;
	else if(b == 'و')d=30;
	else if(b == 'ه')d=31;
	else if(b == 'ی')d=32;
	else d=b;
	if(isNaN(c) ^ isNaN(d)){
		if(isNaN(c))return 1;
		if(isNaN(d))return -1;
	}
	if(c>d)return 1;
	else if(c<d)return -1;
	else return 0;	
}
function compareStr(str1,str2){
	if(!isNaN(str1) ^ !isNaN(str2)){
		if(isNaN(str1))return 1;
		if(isNaN(str2))return -1;
	}
	if(!isNaN(str1) && !isNaN(str2))return parseFloat(str1) - parseFloat(str2);
	var l1=str1.length;
	var l2=str2.length;
	if(l1>l2)var l=l2;
	else var l=l1;
	for(var i=0;i<l;i++){
		f = compareChar(str1.charAt(i),str2.charAt(i));
		if(f == 1)return 1;
		else if(f == -1)return -1;
	}
	if(l1>l2)return 1;
	else if(l1<l2)return -1;
	else return 0;
}