/*check if not select one of checkbox*/

function validateCheckbox(chContainer, childChId){
	
	var allInp = $(chContainer).getElements('input[id^='+childChId+'_]');
		
	for(i=0; i < allInp.length; i++){
		if(allInp[i].checked){
			return true;
		}
	}

	alert('Выберите записи для изменений');

	return false;
}

/*select all checkbox by click on one*/
function rowToggleAll(chContainer, mainCh, childChId){
	var allCh = $(mainCh).checked;
	
	chType = allCh ? true : false;
	
	var allInp = $(chContainer).getElements('input[id^='+childChId+'_]');
		
	for(i=0; i < allInp.length; i++){
		allInp[i].checked = chType;	
	}
	
	return true;
}

function showThisContent(fromInput, toInput){
	
	var into = $(toInput);
	
	var from = $(fromInput).value;
	
	if(into != null){
		into.innerHTML = from;
	}
}


// text symbol counter
function limitInputFormText(input, maxlen, tagid) {

	var inputstr = input.value;
	var strlen = inputstr.length;
	var tagObj = $(tagid);
	var curTag = tagObj.tagName;
	
	if (strlen > maxlen) {
		input.value = inputstr.substring(0, maxlen);
	}
	
	if (curTag == 'INPUT') {
		tagObj.value = maxlen - input.value.length;
	}
	else {
		tagObj.innerHTML = maxlen - input.value.length;
	}
	
	return true;
}


function getUpdateFormLimit(inpArrayId, inpArrayNames, sizeArray){
	
	if(inpArrayId.length >0 && sizeArray.length > 0){
		for(i=0; i <= inpArrayId.length; i++){
			objVar = $(inpArrayId[i]);
			
			limitInputFormText(objVar, sizeArray[i], inpArrayNames[i]);
		}
	}
}

function showHide(elShow, elHide){

	if(elShow != 'null'){
		var show = $(elShow).style.display='block';
	}

	if(elHide != 'null'){
		var hide = $(elHide).style.display = 'none';
	}
}


function setDestLinkUrl(inBlock, fromBlock, htpSel){
	
	var htp = $(htpSel).value;
	
	var destUrl = $(fromBlock).value;
	
	var desthref = htp+destUrl;

	$(inBlock).href = desthref;

}


/*check valid input content by regEx for ad (ex. {Keyword:Test}only) */
function pregKW(inputDat, strMaxlen, errorBlock){

	var	inpObj = $(inputDat);

	var inputStr = $(inputDat).value;

	var inputStrLow = inputStr.toLowerCase();

	//var reg=/(.*){keyword:(.*[^}])}(.*)/;
	
	var reg = new RegExp('.*{keyword:.*[^}]}.*', 'i');
	
	var res=reg.test(inputStrLow);

	var openBkt = inputStr.indexOf("{");

	var closeBkt = inputStr.indexOf("}");

	if(openBkt != -1 || closeBkt != -1){

		if(res){

  		arr = inputStrLow.replace("{keyword:", '');

			arr = arr.replace("}", '');

			if(arr.length == 0 || arr.length > strMaxlen){
				
				res = false;
  		
			}

		}
	
	}else{

		res = inputStr.length > strMaxlen ? false : true;

	}

	var dispEr = res == false || validateInputChars(inputDat, errorBlock) == false  ? 'block' : 'none';

	$(errorBlock).style.display = dispEr;

}


function showAllForSelected(chContainer, childChId){

	var allForShow = $(chContainer).getElements('tr[id^='+childChId+'_]');

	if(allForShow.length > 0){

		for(i=0; i < allForShow.length; i++){

			currStatus = $(allForShow[i]).style.display;

			$(allForShow[i]).style.display = currStatus == 'none' ? 'block' : 'none';

		}

	}

}


function showAllForSelectedLab(chContainer, childChId){

	var allForShow = $(chContainer).getElements('tr[id^='+childChId+'_]');

	if(allForShow.length > 0){

		for(i=0; i < allForShow.length; i++){

			currStatus = $(allForShow[i]).style.visibility;

			$(allForShow[i]).style.visibility = currStatus == 'hidden' ? 'visible' : 'hidden';

		}

	}

}



	function setRepName(from, into){
		var objFrom = document.getElementById(from);
		
		var name=objFrom.innerHTML;
		
		var reg=/sp_(\w+)/ 
		var arr=reg.exec(from);
			
		GetSelectedItem(arr[1]);
		
		document.getElementById(into).value=name;
		objFrom.checked = true;
		
	}
	
/*check or uncheck selected radiobutton for report*/	
	function GetSelectedItem(toSel){
		len = document.report.repType.length
		
		for (i = 0; i <len; i++) {
			if(document.report.repType[i].checked) {
				document.report.repType[i].checked = false;
			}
			
			if(document.report.repType[i].id == toSel){
				document.report.repType[i].checked = true;
			}
			
		}
	}
	
	function showHideElement(elid){
	
		elstyle = $(elid).style.display;
	
		$(elid).style.display = elstyle == 'none' ? 'block' : 'none';
	
	}
	
	function submitForm(formName, contDivs, divsId){

		var isValid = validateCheckbox(contDivs, divsId);
		
		if(isValid){

			document.formName.Submit();

		}

		return false;

	}
	
/*onclick set value for all input(html tag) from first input*/
	function setCpcForAll(inpConteiner, thisid, chengedname){

		var allInpCpc = $(inpConteiner).getElements('input[id^='+chengedname+'_]');

		var valToSet = $(thisid).value;

		if(valToSet!=null){

			for(i=0; i < allInpCpc.length; i++){
	
				allInpCpc[i].value = valToSet;

			}

		}

		return true;

	}

/*make all checkboxes in container unselected*/

	function uncheckAll(inpConteiner, mainBoxes , boxname){

		var allCheckBoxes = $(inpConteiner).getElements('input[id^='+boxname+'_]');
		
		var allCheckBoxesMain = $(inpConteiner).getElements('input[id^='+mainBoxes+'_]');

		cicleUnselect(allCheckBoxes);

		cicleUnselect(allCheckBoxesMain);

		return true;

	}
	
	
	function cicleUnselect(arrElements){
		
		for(i=0; i < arrElements.length; i++){

			arrElements[i].checked = false;

		}
		
	}
	
/*Load campaign and adgroups block for report*/
	function loadUserData(typeOfReport){

		new Requester('/adw/report/getlist/', 
			{
				method    : 'post', 
				update    : 'myselect',
				data      : 'ajaxAdgr=1&reporttype='+typeOfReport,
				
				onComplete: function() {
					
					(function () { 
						var inner = $('TempBuffer').innerHTML;
						
						$('myselect').setHTML(inner);
						
					} ).delay(500);
				
				}
			}
		);

	}
	
	
	function sendMesToAdmin(){

		var title = $('themeid').value;

		var mess = $('messId').value;

		var email = $('emailId').value; 
		
		
		var regEmail=/[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]{2,9}(\.[a-zA-Z0-9]{2,4})?/;
	
		var resValidEmail = regEmail.test(email.toLowerCase());
				
		
		if(title == null || title==''){
			
			fieldName = 'тема';
		
		}else if(mess == null || mess==''){

			fieldName = 'текст сообщения';		 

		}else if(email == null || email=='' || !resValidEmail){

			fieldName = 'E-Mail';
		
		}else{
		
			fieldName = null;
		
		}
		
		if(fieldName != null){

			alert('Поле '+fieldName+' не заполненно или содержит ошибки');return false;

		}

		new Requester('/adw/msgsend/', 
			{
				method    : 'post', 
				update    : 'sendStatus',
				data      : 'ajaxSendMsg=1&title='+title+'&mess='+mess+'&email='+email,

				onComplete: function() {
				
					(function () { 
						$('sendMsgForm').style.display='none';
						$('sendStatus').style.display='block';
						return 1;						
					} ).delay(500);
				
				}				

			}
		);
	
	}
	
	
	function frmt(val)
{
 return Math.round(val*100)/100;
}

/*
var rates = new Array();
rates["UAH"] = 8.04;
rates["RUB"] = 33.430353430353;
rates["USD"] = 1;
*/

function payment_system_click(type, comiss) {
    var list = document.getElementsByName("payment_system");

    for(var i = 0; i < list.length; i++) {
        if(list[i].checked) {
            type = list[i].value;
            break;
        }
    }

    if(country == 'by') {
        toggleWM($("BYR"), comiss);
        sign = " руб";
        $('label_payment_system').value = type;

        var arTypes = Array('invoice', 'webmoneyWOTaxesBy');
        for(arTypeCur = 0; arTypeCur < arTypes.length; arTypeCur++) {
            $(arTypes[arTypeCur]).style.backgroundPosition = '';
        }

        $('USD').style.border = '1px solid #0080B3';
    } else {
        toggleWM($("UAH"), comiss);
        sign = " грн";
        $('label_payment_system').value = type;
        //var arTypes = Array('privat', 'webmoneyWOTaxes', 'paycash', 'invoice');
		var arTypes = Array('privat', 'webmoneyWOTaxes', 'invoice');
        for(arTypeCur = 0; arTypeCur < arTypes.length; arTypeCur++) {
            $(arTypes[arTypeCur]).style.backgroundPosition = '';
        }

        $('USD').style.border = '1px solid #0080B3';
        $('RUB').style.border = '1px solid #0080B3';
        $('UAH').style.border = '1px solid #0080B3';
    }

    $(type).style.backgroundPosition = '0px -133px';

    var amount_list = $$('.amount-block');
    if(country == 'by') {
        for (var al = 0; al < amount_list.length; al++){
            accountTaxesBy(amount_list[al].value, type, comiss[al+1], 'taxes_' + amount_list[al].getProperty('rel'));
        }
    } else {
        for (var al = 0; al < amount_list.length; al++){
            accountTaxes(amount_list[al].value, type, comiss[al+1], 'taxes_' + amount_list[al].getProperty('rel'));
        }
    }
}


//js for privat
//js for webmoneyWOTaxes
function toggleWM(elem, comission) {
    if(rates[elem.id]) {
        rate = rates[elem.id];
        sign = ' '+elem.id;
    }

    for(var id in rates) {
        if(document.getElementById(id)) {
            document.getElementById(id).style.fontWeight = 'normal';
            document.getElementById(id).style.color = '';
            document.getElementById(id).style.border = '';
        }
    }

    document.getElementById('currency').value = elem.id;
    $('USD').style.border = '1px solid #0080B3';
    var amount_list = $$('.amount-block');
    
    if(country == 'ua') {
        $('RUB').style.border = '1px solid #0080B3';
        $('UAH').style.border = '1px solid #0080B3';
        $(elem.id).style.border = '1px solid #CC0000';

        for (var al = 0; al < amount_list.length; al++){
            accountTaxes(amount_list[al].value, 'webmoneyWOTaxes', comission[al+1], 'taxes_' + amount_list[al].getProperty('rel'));
        }
    }

    if(country == 'by') {
        for (var al = 0; al < amount_list.length; al++){
            accountTaxesBy(amount_list[al].value, 'webmoneyWOTaxes', comission[al+1], 'taxes_' + amount_list[al].getProperty('rel'));
        }
    }

    return false;
}//js for paycash
//js for invoice

function accountTaxes(amt, type, comission, field_name)
{
	 rt = rate;
	 amt = parseFloat(amt);
	 
	 if (field_name == 'taxes_yandex' && (sign == " UAH" || sign == " грн")) rt = 5.00;
	 
	 if (field_name == 'taxes_meta') 
	 {
		 
		if (sign == " UAH" || sign == " грн") rt = 1.00;
		
		if (sign == " RUB") {
			
			rt = rates_ua.RUB;
			amt = frmt(amt/rt);
		}
		if (sign == " USD") { 
			rt = rates_ua.USD;
			
			amt = frmt(amt/rt);
		}
	 }
	 else {
		
		amt = frmt(amt*rt);
	 
	 }
	 
	 
	 
	 var text = '';
	 if(rt != 1)
	 {
		text += "<b>Сумма:</b> "+frmt(amt)+sign+' (курс '+frmt(rt)+')<br />';
	 }
	 var sum = amt;
	 var tax = 0;
	 var taxed = false;
	 
	 
	 
	 switch(type)
	 {
		 default:
		 
			 taxed = true;
			 tax = amt*(comission/100);
			 sum += tax;
			 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
			 amt = sum;
			 text += ' (итого '+frmt(amt)+sign+')';

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.2;
			 sum += tax;
			 text += "<b>НДС</b> (20%): "+frmt(tax)+sign;

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.005;
			 sum += tax;
			 text += "<b>Налог на рекламу</b> (0.5%): "+frmt(tax)+sign;

			 text += '<br />\n';
		 break;
		 case 'privat':
			 taxed = true;
			 tax = amt*(comission/100);
			 sum += tax;
			 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
			 amt = sum;
			 text += ' (итого '+frmt(amt)+sign+')';

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.2;
			 sum += tax;
			 text += "<b>НДС</b> (20%): "+frmt(tax)+sign;

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.005;
			 sum += tax;
			 text += "<b>Налог на рекламу</b> (0.5%): "+frmt(tax)+sign;

			 text += '<br />\n';
		 break;
		 case 'webmoneyWOTaxes':
			 taxed = true;
			 tax = amt*(comission/100);
			 sum += tax;
			 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
			 amt = sum;
			 text += ' (итого '+frmt(amt)+sign+')';

			 text += '<br />\n';
		 break;
		 case 'paycash':
			 taxed = true;
			 tax = amt*(comission/100);
			 sum += tax;
			 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
			 amt = sum;
			 text += ' (итого '+frmt(amt)+sign+')';

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.2;
			 sum += tax;
			 text += "<b>НДС</b> (20%): "+frmt(tax)+sign;

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.005;
			 sum += tax;
			 text += "<b>Налог на рекламу</b> (0.5%): "+frmt(tax)+sign;

			 text += '<br />\n';
		 break;
		 case 'invoice':
			 taxed = true;
			 tax = amt*(comission/100);
			 sum += tax;
			 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
			 amt = sum;
			 text += ' (итого '+frmt(amt)+sign+')';

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.2;
			 sum += tax;
			 text += "<b>НДС</b> (20%): "+frmt(tax)+sign;

			 text += '<br />\n';
			 taxed = true;
			 tax = amt*0.005;
			 sum += tax;
			 text += "<b>Налог на рекламу</b> (0.5%): "+frmt(tax)+sign;

			 text += '<br />\n';
		 break;
	 }
	 if(taxed)
	 {
		text += "<b>Общая сумма: "+frmt(sum)+sign+'</b>';
	 }
	 document.getElementById(field_name).innerHTML = text;

}

function startAmount(amount, isBy, comission, field_name){

	var amVal = $(amount).value;

	isBy == true ? accountTaxesBy(amVal, isBy, comission, field_name) : accountTaxes(amVal, isBy, comission, field_name);

}


	function setSameValue(from, to){

		shablon = $(from).value;
		
		$(to).value = '';
		
		$(to).value = shablon;

	}

	// text symbol counter
	function limitInputString(inputText, maxlen, left) {
	
		inputstr = $(inputText).value;

		//var reg=/(.*){keyword:(.*[^}])}(.*)/;
	
		var reg = new RegExp('.*{keyword:.*[^}]}.*', 'i');
	
		var res=reg.test(inputstr.toLowerCase());

		strlen = inputstr.length;

		if(res){
			
			maxlen = maxlen +10;
			
		}

		if (strlen > maxlen) {

			$(inputText).value = inputstr.substring(0, maxlen);

		}

		var curLength = maxlen - strlen;

		$(left).innerHTML = curLength >= 0 ? curLength : 0;

		return true;

	}

	function makeChecked(elementId){

		elObj = $(elementId);

		if(elObj != null){

			elObj.checked='true';

		}

	}


	function setSortTypes(fSort, formName){

		startFieldValue = $('fsortid').value;

		$('fsortid').value = fSort;

		if( $('tsortid').value == 1){
	
			$('tsortid').value = startFieldValue != fSort ? 1 : 2;
		
		}else{
		//sort desc
			$('tsortid').value = startFieldValue != fSort ? 2 : 1;	
		
		}
		
		

		switch(formName){
		
			case 'cam':
				
				$('camUpdate').value = 0;
				
				document.camForm.submit();
			break;
			
			case 'adgroup':
				document.adGroupForm.submit();
			break;
			
			case 'keyword':

				document.keyWordForm.submit();

			break;
			
			default:
			break;
	
		}	
		
	}
	
	
	function validateInput(inpContainer, inputId){

		var allInp = $(inpContainer).getElements('input[id^='+inputId+']');
		
		if(allInp.length > 0){
			
			for(i=0; i < allInp.length; i++){

				str = allInp[i].value;

				valIn = str.replace(',', '.');

				var regShabl=/^\d{1,2}([\.]\d{1,2})?$/;

				if(valIn != '' && !regShabl.test(valIn.toLowerCase())){

					alert('Проверьте правильность заполнения поля ставки');
					
					return false;
				
				}
			
			}
    	
			return true;
		}

	}
	
	
	
	function validateInputChars(inpCharContainer, errorCont){

		var inpchars = $(inpCharContainer).value;
		
		var regShablChars = /[^0-9a-zA-Zа-яА-Яїіє:{}()\$\№\@\"\'\%\*\?\\!\&=+,.;\-\/\s]/;

		return regShablChars.test(inpchars) ? false : true;

	}
	


	function setValue(newVal, forElem){

		$(forElem).value = newVal;

	}
	
	
	
	function ShowWarn(){

if($('template')!=null){
	$('template').style.display = 'block';

	var objFloatForm		= $('contextFloatForm');
	var objFloatFormAlphaBg = $('contextFloatFormAlphaBg');

	if($type(objFloatForm)!="element") return false
	if(!objFloatForm.hasClass("visible")) {
		var X = window.getScrollLeft() + Math.round(window.getWidth()/2);
		var Y = window.getScrollTop() + Math.round(window.getHeight()/2);

		objFloatForm.setStyle('left', X + 'px');
		objFloatForm.setStyle('top', Y + 'px');

		objFloatFormAlphaBg.setStyle('width', window.getScrollWidth() + 'px');
		objFloatFormAlphaBg.setStyle('height', window.getScrollHeight() + 'px');
		
		ChangeLayerVisibility('contextFloatFormAlphaBg', true, false);
		objFloatForm.addClass('visible');
	}
	else {
		objFloatForm.removeClass('visible');
		showHideFlash(true);
		ChangeLayerVisibility('contextFloatFormAlphaBg', false, true);
	}
}
	return false;
}

function rewriteCancel(){

	ShowWarn();
	$('cancelLoginForm').addEvent('click',ShowWarn);
	ShowLoginForm();
	return false;
}


function accountTaxesBy(amt, type, comission, field_name)
{
 rt = rate+(rate*0.05);
 amt = parseFloat(amt);
 amt = frmt(amt*rt);
 var text = '';
 if(rt != 1)
 {
 	text += "<b>Сумма:</b> "+Math.round(frmt(amt))+sign+' (курс '+(frmt(rt))+' руб. / 1$)<br />';
 }
 var sum = amt;
 var tax = 0;
 var taxed = false;

 switch(type)
 {

case 'webmoneyWOTaxes':
 taxed = true;
 tax = amt*(comission/100);
 sum += tax;
 text += "<b>Комиссия</b> ("+comission+"%): "+frmt(tax)+sign;
 amt = sum;
 text += ' (итого '+frmt(amt)+sign+')';

 text += '<br />\n';
 break;

default:
 taxed = true;
 tax = amt*(comission/100);
 sum += tax;
 text += "<b>Комиссия</b> ("+comission+"%): "+Math.round(frmt(tax))+sign;
 amt = sum;
 text += ' (итого '+frmt(amt)+sign+')';

 text += '<br />\n';
 taxed = true;
 tax = amt*0.20;
 sum += tax;
 text += "<b>НДС</b> (20%): "+Math.round(frmt(tax))+sign;

 text += '<br />\n';
	break;
}

 if(taxed)
 {
 text += "<b>Общая сумма: "+Math.round(frmt(sum))+sign+'</b>';
 }
 document.getElementById(field_name).innerHTML = text;


}

function set_client_agreement(owner, client_id, system) {
    var req = new Ajax('/agr/complete/', {
        method: 'get',
        data: 'client_id='+client_id+'&system='+system+'&value=' + (owner.checked ? 1 : 0)
    }).request();
    return false;
}


function minSummaCheck(sum) {
/*
    var valInpSum = parseInt($('amount').value);
    var valMinSum  = parseInt(sum);
    if(valInpSum < valMinSum) {
    	alert('Сумма не может быть меньше '+sum+'$');
	    return false;
    }
*/
}
	
	function getSubCats(clid){

	var catId = $('clcat').value;

	new Requester('/admin/clients/edit/', 
		{
			method    : 'post', 
			update    : 'TempBuffer', 
			data      : 'catAjax='+catId,  
			onComplete: function() {

				(function () { 
					/* Get from buffer and clear buffer */
					
					$('subcat').innerHTML = $('TempBuffer').innerHTML;
					$('TempBuffer').innerHTML = '';
				
				} ).delay(500);
			
			}
		}
	);

	}

/*
	function CallMe(){

		var title = $('callnameId').value;

		var phone = $('phoneId').value;
		
		var mess = $('otherId').value;
		
		var captch = $('captchId').value;
		
		var regPhone=/[0-9]+/;
		
		var regCaptch = /[a-zA-Z0-9]+/;
	
		var resValidPhone = regPhone.test(phone);
		
		var resValidCaptch = regCaptch.test(captch);

		if(title == null || title==''){
			
			fieldName = 'Имя';
		
		}else if(phone == null || phone=='' || !resValidPhone){

			fieldName = 'Телефон';
		
		}else if(captch == null || captch=='' || !resValidCaptch){
		
			fieldName = 'Код';
		
		}else{
		
			fieldName = null;
		
		}
		
		if(fieldName != null){

			alert('Поле '+fieldName+' не заполненно или содержит ошибки');return false;

		}

		new Requester('/msgsendcall/', 
			{
				method    : 'post', 
				update    : 'sendStatus',
				data      : 'ajaxSendMsg=1&callme=1&uname='+title+'&other='+mess+'&phone='+phone,

				onComplete: function() {
					(function () { 
						
						$('sendMsgForm').style.display='none';
						$('sendStatus').style.display='block';
						return 1;						
					} ).delay(500);
				
				}

			}

		);

	}

	function myCaptchaCallbackFunction($res){

	   if ($res == 0){

				alert('Капча введена неверно!');

				return false;

		}

	}
*/
