function openContact(){
	window.open('contacts.html', name, 'menubar=0,status=0,toolbar=0,resizable=0,scrollbars=0,width=400,height=250', '');
}
function openHelp(){
	window.open('help.html', name, 'menubar=0,status=0,toolbar=0,resizable=0,scrollbars=1,width=800,height=600', '');
}

function openInfo(url, name){
try{
	window.open(url, name, 'menubar=0,status=0,toolbar=0,resizable=1,scrollbars=1,width=550,height=550,left=100,top=50', '');
	
}catch(e){
	dumpError(e, "main.js::openInfo()");
}
}

function openOrder(){
	window.open('templates/payment/ordergood.html', name, 'menubar=0,status=0,toolbar=0,resizable=1,scrollbars=1,width=550,height=300', '');
}



function openBasket(url, name){
	try{
		if(top.win && !top.win.closed){
			top.win.focus();
			top.win.location.replace(url);
		}else{
			if(opener){
				opener.top.win = window.open(url, name, 'height=300,width=500,toolbar=no,location=no,resizable=yes,scrollbars=yes');
			}else{
				top.win = window.open(url, name, 'height=300,width=500,toolbar=no,location=no,resizable=yes,scrollbars=yes');
			}
		}
	}catch(e){
		dumpError(e, "main.js::openBasket()");
	}
}
/**
* Open modal window
* @param	String	url
* @param	String	name
* @param	Array	features
* @see		__prepareModalWinFeatures()
*/
function openModalWin(url, name, args, features, top){

	if(!top) top = window.top;

	if(navigator.appName.indexOf('Microsoft Internet Explorer') != -1){
		// IE
		// Prepare window features
		if(features['width']){ features['dialogWidth'] = features['width']; delete features['width']; }
		if(features['height']){ features['dialogHeight'] = features['height']; delete features['height']; }
		if(features['top']){ features['dialogTop'] = features['top']; delete features['top']; }
		if(features['left']){ features['dialogLeft'] = features['left']; delete features['left']; }
		features['edge'] = 'raised';
		// Show window
		top.returnValue = showModalDialog(url, args, __prepareModalWinFeatures(features, ':', ';'));
//		return top.returnValue;

	}else{
		// Mozilla & NN
		// Prepare window features
		features['modal']	= 1;
		features['dialog']	= 1;
		// Show window
		window.open(url, name, __prepareModalWinFeatures(features, '=', ','));
	}
}

/**
* Transform features array to string
* @param	Array	features
* @param	String	equality
* @param	String	delimiter
* @return	String
*/
function __prepareModalWinFeatures(features, equality, delimiter){
	if(!features) return false;
	var arr = new Array();
	for(var key in features)
		arr[arr.length] = key + equality + features[key];

	return arr.join(delimiter);
}

/**
* Dump pay window
* @return	mixed
*/
function goPayWin(){
	try{
		var ctrl = document.getElementById('payType');
		if(!ctrl) return false;
		var payType = ctrl.selectedIndex;
		// Div with table context		
		var __infoCtrl = document.getElementById('infoData');
		if(!__infoCtrl) return false; 

		// Hidden input 		
		var infoCtrl = document.getElementById('hInfo');
		if(!infoCtrl) return false;

		var infoData = __infoCtrl.innerHTML;
		infoData = infoData.replace("/\"/", "&quot;");

		// Put data
		infoCtrl.value = infoData;

		// Hidden pay type 
		var payCtrl = document.getElementById('hPayType');
		if(!payCtrl) return false;

		payCtrl.value = payType;


		document.forms['payWin'].submit();

	}catch(e){
		dumpError(e, 'main.js::goPayWin()');
	}	
}


/**
* Send shop data to user
*/
function sendShopData(){
	try{
		var __ctrl = document.getElementById('sourceData');
		if(!__ctrl) return false;

		var ctrl = document.getElementById('hData');
		ctrl.value = __ctrl.innerHTML;

		document.forms['dataForm'].submit();
	}catch(e){
		dumpError(e, "main.js::sendShopData()");
	}	
}

/**
* Check form for the required fields
*/
function __checkForm(){
	var form = document.forms['orderForm'];
	if(!form) return false;
	var msg = 'Не заполнены необходимые поля:\n\n';
	var flag = true;
	var reqFields = new Array();


	for(var i = 0; i < form.elements.length; i++){
		var element = form.elements[i];

		if(element.getAttribute('required')){
			if(!element.value){
				var __ctrlName = element.getAttribute('orname');
				var __ctrl = __ctrlName ? document.getElementById(__ctrlName) : false;

				if(!__ctrl){
				    msg += (element.getAttribute('desc') ? element.getAttribute('desc') : '') + '\n';
					flag = false;
				}else{
					var id = element.id ? element.id : '';
					if(!__ctrl.value && !reqFields[id]){
						reqFields[__ctrlName] = 1;
						msg += (element.getAttribute('desc') ? element.getAttribute('desc') : '') + ' (или ' + 
								(__ctrl.getAttribute('desc') ? __ctrl.getAttribute('desc') : '') + ')\n';
					    flag = false;
					}
				}
			}
		}
	}

	if(!flag){
		alert(msg);
		return false;
	}

	return true;
}




function orderData(){
	try{
		if(__checkForm()){
			document.forms['orderForm'].submit();
	  	}
//		document.forms['payform'].submit();
	}catch(e){
		dumpError(e, "main.js::orderForm()")
	}
} 

